Some embodiments of the present invention are generally related to microprocessors, and more particularly, to register files.
A register system is a key component of a microprocessor. The register system should be responsible and able to deliver data quickly, yet be large enough to support a high level of instruction level parallelism (ILP).
Microprocessors increasingly require fast register files to reduce cycles spent in register read. Each additional cycle spent in register read increases branch misprediction latency. Furthermore, speculative schedulers need a fast register file to reduce the time from scheduling to execution.
A register file's size determines, in a large part, the effective limits of the number of in-flight instructions, and the amount of extractable ILP. Increases in register file size, however, result in a slower structure that requires more power and microprocessor complexity, to operate. Increased complexity may include, for example, inceased number of ports.
The invention is now described with reference to the accompanying drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is generally indicated by the left-most digit(s) in the corresponding reference number.